package com.fx.ruankao.mapper;

import com.fx.ruankao.entity.QuestionOption;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 题目选项Mapper接口
 */
@Mapper
public interface QuestionOptionMapper {
    /**
     * 新增题目选项
     * @param questionOption 题目选项信息
     * @return 影响行数
     */
    int insert(QuestionOption questionOption);

    /**
     * 根据ID删除题目选项
     * @param id 选项ID
     * @return 影响行数
     */
    int deleteById(Long id);

    /**
     * 根据题目ID删除题目选项
     * @param questionId 题目ID
     * @return 影响行数
     */
    int deleteByQuestionId(Long questionId);

    /**
     * 更新题目选项信息
     * @param questionOption 题目选项信息
     * @return 影响行数
     */
    int update(QuestionOption questionOption);

    /**
     * 根据ID查询题目选项
     * @param id 选项ID
     * @return 题目选项信息
     */
    QuestionOption selectById(Long id);

    /**
     * 根据题目ID查询选项列表
     * @param questionId 题目ID
     * @return 选项列表
     */
    List<QuestionOption> selectByQuestionId(Long questionId);

    /**
     * 批量插入题目选项
     * @param options 选项列表
     * @return 影响行数
     */
    int batchInsert(@Param("options") List<QuestionOption> options);
}